package com.glsc.ngateway.common.base.enums.itflow;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 各节点分配人等参数命名
 * @author xuchang
 */
@Getter
@AllArgsConstructor
public enum ITFlowTaskParamEnum {
    /**
     * 设备变更流程
     */
    //1【流程发起】-分配人
    MODIFY_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //2【部门负责人审批】-分配人
    MODIFY_FLOW_DEPARTMENT_SUPER_TASK_ASSIGNMENTS("departmentSuperGroup"),
    //3【设备管理员库存确认】-分配人
    MODIFY_FLOW_DEVICE_ADMIN_TASK_ASSIGNMENTS("deviceAdminGroup"),
    //4【信息技术总部基础架构部负责人审核】-分配人
    MODIFY_FLOW_FRAMEWORK_HEAD_TASK_ASSIGNMENTS("frameworkHeadGroup"),
    //5_1【信息技术总部设备管理员审核】-分配人
    MODIFY_FLOW_HEAD_QUARTERS_ADMIN_TASK_ASSIGNMENTS("headQuartersAdminGroup"),
    //5_2【病毒管理岗审批】-分配人
    MODIFY_VIRUS_MANAGE_TASK_ASSIGNMENTS("virusManageGroup"),
    /**
     * 设备申领流程
     */
    //1【流程发起】-分配人
    APPLY_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //2【部门负责人审批】-分配人
    APPLY_FLOW_DEPARTMENT_SUPER_TASK_ASSIGNMENTS("departmentSuperGroup"),
    //3【设备管理员库存确认】-分配人
    APPLY_FLOW_DEVICE_ADMIN_TASK_ASSIGNMENTS("deviceAdminGroup"),
    //4【网络安全部门负责人审核】-分配人
    APPLY_FLOW_NETWORK_SECURITY_TASK_ASSIGNMENTS("networkSecurityGroup"),
    //5_1【设备管理员分配资源】-分配人
    APPLY_FLOW_DEVICE_ADMIN_ASSIGNMENT_TASK_ASSIGNMENTS("deviceAdminAssignmentGroup"),
    //5_2【病毒管理岗审批】-分配人
    APPLY_VIRUS_MANAGE_TASK_ASSIGNMENTS("virusManageGroup"),
    /**
     * 设备下架
     */
    //1【流程发起】-分配人
    OFFLINE_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //2【部门负责人审批】-分配人
    OFFLINE_FLOW_DEPARTMENT_SUPER_TASK_ASSIGNMENTS("departmentSuperGroup"),
    //3【机房管理员处理】-分配人
    OFFLINE_FLOW_ROOM_ADMIN_TASK_ASSIGNMENTS("roomAdminGroup"),
    //4【设备管理员库存审核】-分配人
    OFFLINE_FLOW_DEVICE_ADMIN_TASK_ASSIGNMENTS("deviceAdminGroup"),
    //5_1【网络管理员处理】-分配人
    OFFLINE_FLOW_NET_ADMIN_TASK_ASSIGNMENTS("netAdminGroup"),
    //5_2【病毒管理岗审批】-分配人
    OFFLINE_VIRUS_MANAGE_TASK_ASSIGNMENTS("virusManageGroup"),
    /**
     * 物理设备申领及上架流程
     */
    //1【流程发起】-分配人
    SERVER_APPLY_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //2【部门负责人审批】-分配人
    SERVER_APPLY_FLOW_DEPARTMENT_SUPER_TASK_ASSIGNMENTS("departmentSuperGroup"),
    //3【机房管理员审核】-分配人
    SERVER_APPLY_FLOW_ROOM_ADMIN_TASK_ASSIGNMENTS("roomAdminGroup"),
    //4【网络管理员审核】-分配人
    SERVER_APPLY_FLOW_NET_ADMIN_TASK_ASSIGNMENTS("netAdminGroup"),
    //5【基础架构部负责人审核】-分配人
    SERVER_APPLY_FLOW_HEAD_OF_INFRASTRUCTURE_DEPARTMENT_TASK_ASSIGNMENTS("frameworkHeadGroup"),
    //6【设备管理员审核】-分配人
    SERVER_APPLY_FLOW_DEVICE_ADMIN_TASK_ASSIGNMENTS("deviceAdminGroup"),
    //7_1【设备管理员复核】-分配人
    SERVER_APPLY_FLOW_DEVICE_ADMIN_REVIEW_TASK_ASSIGNMENTS("deviceAdminReviewGroup"),
    //7_2【病毒管理岗审批】-分配人
    SERVER_APPLY_VIRUS_MANAGE_TASK_ASSIGNMENTS("virusManageGroup"),
    //8【网络管理员复核】-分配人
    SERVER_APPLY_FLOW_NET_ADMIN_REVIEW_TASK_ASSIGNMENTS("netAdminReviewGroup"),
    /**
     * 系统名称申请
     */
    //1【流程发起】-分配人
    SYSTEM_NAME_APPLY_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //2【上级领导审批】-分配人
    SYSTEM_NAME_APPLY_FLOW_LEADER_TASK_ASSIGNMENTS("leaderGroup"),
    //3【一级部门负责人审批】-分配人
    SYSTEM_NAME_APPLY_FLOW_DEPARTMENT_SUPER_TASK_ASSIGNMENTS("departmentSuperGroup"),

    /**
     * 系统名称变更
     */
    //1【流程发起】-分配人
    SYSTEM_NAME_MODIFY_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //2【上级领导审批】-分配人
    SYSTEM_NAME_MODIFY_FLOW_LEADER_TASK_ASSIGNMENTS("leaderGroup"),
    //3【一级部门负责人审批】-分配人
    SYSTEM_NAME_MODIFY_FLOW_DEPARTMENT_SUPER_TASK_ASSIGNMENTS("departmentSuperGroup"),
    /**
     * CMDB配件规格变更
     */
    //1【流程发起】-分配人
    CMDB_PART_STANDARD_MODIFY_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //2【发起人审批】-分配人
    CMDB_PART_STANDARD_MODIFY_FLOW_CREATOR_AUDIT_TASK_ASSIGNMENTS("creatorGroup"),

    /**
     * CMDB服务器规格变更
     */
    CMDB_DEVICE_STANDARD_MODIFY_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //2【发起人审批】-分配人
    CMDB_DEVICE_STANDARD_MODIFY_FLOW_CREATOR_AUDIT_TASK_ASSIGNMENTS("creatorGroup"),


    /**
     * CMDB配件入库
     */
    //1【流程发起】-分配人
    CMDB_PART_IN_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //3【上级领导审批】-分配人
    CMDB_PART_IN_FLOW_LEADER_TASK_ASSIGNMENTS("leaderGroup"),
    //3【发起人审批】-分配人
    CMDB_PART_IN_FLOW_CREATOR_AUDIT_TASK_ASSIGNMENTS("creatorGroup"),
    //4【同步OA】-分配人
    CMDB_PART_IN_FLOW_SYNC_OA_TASK_ASSIGNMENTS("itadmin"),
    /**
     * CMDB设备入库
     */
    //1【流程发起】-分配人
    CMDB_DEVICE_IN_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //3【上级领导审批】-分配人
    CMDB_DEVICE_IN_FLOW_LEADER_TASK_ASSIGNMENTS("leaderGroup"),
    //3【发起人审批】-分配人
    CMDB_DEVICE_IN_FLOW_CREATOR_AUDIT_TASK_ASSIGNMENTS("creatorGroup"),
    //4【同步OA】-分配人
    CMDB_DEVICE_IN_FLOW_SYNC_OA_TASK_ASSIGNMENTS("itadmin"),
    /**
     * CMDB配件出库
     */
    //1【流程发起】-分配人
    CMDB_PART_OUT_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //3【上级领导审批】-分配人
    CMDB_PART_OUT_FLOW_LEADER_TASK_ASSIGNMENTS("leaderGroup"),
    //3【发起人审批】-分配人
    CMDB_PART_OUT_FLOW_CREATOR_AUDIT_TASK_ASSIGNMENTS("creatorGroup"),
    /**
     * CMDB设备出库
     */
    //1【流程发起】-分配人
    CMDB_DEVICE_OUT_FLOW_BEGIN_TASK_ASSIGNMENTS("userId"),
    //3【上级领导审批】-分配人
    CMDB_DEVICE_OUT_FLOW_LEADER_TASK_ASSIGNMENTS("leaderGroup"),
    //3【发起人审批】-分配人
    CMDB_DEVICE_OUT_FLOW_CREATOR_AUDIT_TASK_ASSIGNMENTS("creatorGroup"),


    /**
     * CMDB设备出库
     */
    //1【流程发起】-分配人
    VENDOR_RATE_BEGIN_TASK_ASSIGNMENTS("userId"),
    //3【上级领导审批】-分配人
    VENDOR_RATE_SCORE_TASK_ASSIGNMENTS("rateScoreGroup"),
    //3【发起人审批】-分配人
    VENDOR_RATE_LEADER_TASK_ASSIGNMENTS("rateLeaderGroup")
    ;

    /**
     * name
     */
    final String name;
}
